package cc.zy.base.hr.mapper;

import cc.zy.base.hr.entity.StaffLabel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author ljy
 * @time 2022/03/05 10:32:40
 */
@Repository
public interface StaffLabelMapper extends BaseMapper<StaffLabel> {
    /**
     * 查找标签详细信息
     *
     * @param page    分页对象
     * @param staffLabel 用户对象，用于传递查询条件
     * @return Ipage
     */
    <T> IPage<StaffLabel> getStaffLabelDetailPage(Page<T> page, @Param("staffLabel") StaffLabel staffLabel);

    /**
     * 统计标签的总数
     * @param staffLabel
     * @return
     */
    long countStaffLabelDetail(@Param("staffLabel") StaffLabel staffLabel);

    /**
     * 通过ID查找标签
     *
     * @return 标签
     */
    StaffLabel getById(Integer staffLabelId);

    /**
     * 查找标签详细信息
     *
     * @param staffLabel 标签对象，用于传递查询条件
     * @return List<StaffLabel>
     */
    List<StaffLabel> getStaffLabelDetail(@Param("staffLabel") StaffLabel staffLabel);

    /**
     * 查询不带分页
     */
    List<StaffLabel> getStaffLabelListNotPage(@Param("staffLabel") StaffLabel staffLabel);

    /**
     * 按名字查询
     * @param staffLabelName
     * @return
     */
    Integer getByName(@Param("staffLabelName") String staffLabelName);

    /**
     * 得到当前最大id
     * @return
     */
    Integer getMaxId();


}
